/*
  一些系统配置 ,计划管理-个人计划-提醒设置 数据保存在数据库person_config表

*/
import { defineStore } from 'pinia'
export const settingStore = defineStore("settingStore", {
  persist: true,//持久化的开关
  state: () => {
    return {
      //汉堡伸缩按钮的伸缩状态，仅在layout-header-hamburger.vue通过按钮触发修改
      showSideMenu: true,
      //主题按钮颜色 utils/theme 全局替换
      theme: "#409EFF",
      //顶部tagTop栏显示与否的标识
      showTagTop: true,
      //系统文字大小
      fontSize: 'default',
      //以下配置不存数据库
      //layout-indx.vue 内的组件setting显示与否的标识，
      //在src\views\layout\header\avator.vue 触发
      showSetLayout: false,
      //由左侧菜单触发密码修改窗口
      showChangePass: false,
      //由左侧菜单触发意见反馈改窗口
      showSuggestion: false,
      //全员计划 是否展开其他区域
      expandAllPlan: false,
      //关注列表 是否展开其他区域
      expandFollowQarea: false,
    }
  },
  //类似于computed 可以帮我们去修饰我们的值
  getters: {
    //汉堡伸缩按钮的伸缩状态的监控，默认打开，以下组件用到
    //1、layout-menu.vue
    //2、layout-index.vue
    watchShowSideMenu: (state) => { return state.showSideMenu },
  },
  //可以操作异步 和 同步提交state
  actions: {
    initDefault () {
      this.showSideMenu = true
      this.theme = "#409EFF"
      this.showTagTop = true
      this.fontSize = 'default'
    }
  }

})

